|
Hinweis Dieser Abschnitt soll als Einführung in das Themengebiet der
speicherprogrammierbaren Steuerungen dienen. Im folgenden finden Sie Informationen über
die Funktionsweise einer SPS, die Anschlußklemmen, den Befehlssatz und ein kurzes
Beispielprogramm. Um bedarfsgerechte Problemlösungen zu erarbeiten, ist es jedoch
erforderlich, weitere Unterlagen und entsprechende Herstellerdokumentationen
heranzuziehen.
Grundlagen zur SPS
Bei speicherprogrammierbaren Steuerungen handelt
es sich um äußerst flexible und mächtige Komponenten. Die Möglichkeiten, die sich
durch den Einsatz solcher kompakten Steuerungssysteme eröffnen, können hier lediglich
angeschnitten werden. Welche Steuerungsmöglichkeiten und Sonderfunktionen eine SPS
erfüllt, hängt im wesentlichen von dem verwendeten Steuerungsmodell und dem Hersteller
ab. Die Palette reicht von einfachen logischen Verknüpfungen bis hin zu
Hochleistungssteuerungen (und -regelungen), die einen Bedienkomfort aufweisen, wie ein PC
(Personalcomputer). Die Vorteile solcher Steuereinheiten stellen sich wie folgt dar:
kompakte Bauweise
geringer Verdrahtungsaufwand im
Steuerungsbereich
geringer Energieverbrauch
einfache Anpassung bei Änderung der Aufgabe
einfache Erweiterbarkeit der Steuerung
einfache Testmöglichkeiten der Steuerungslogik
einfacher Anschluß an Leitrechner (und
Netzwerke)
Das folgende Beispielprogramm entstand auf einer
SPS des Typs FX0 von der Firma Mitsubishi. Bei der Verwendung anderer
Steuerungen könnten sich einzelne Bezeichnungen (Befehle, Ein-/Ausgänge) ändern, die
Funktionen sind aber bei allen handelsüblichen Steuerungen vorhanden.
Für die Arbeit mit einer SPS reicht es aus, die
Steuerung als "black box" zu betrachten. Denn es lohnt sich nicht, die genaue
interne Funktionsweise einer SPS zu klären, da sich von Hersteller zu Hersteller
Unterschiede ergeben. Einige wichtige Funktionsprinzipien sind jedoch bei der Arbeit mit
diesen Steuerungen zu berücksichtigen, die hier noch einmal kurz zusammengefaßt sind:
eine SPS besteht aus einer internen
Verarbeitungseinheit und einer bestimmten Anzahl von Ein- und Ausgängen (Bild 1)
durch die Eingabe eines Programms kann die
logische Verknüpfung von Ein- und Ausgängen erreicht werden
zu Beginn eines Programmdurchlaufs werden alle
Eingangs- und Ausgangssignale in der SPS gespeichert
das SPS-Programm wird Schritt für Schritt
abgearbeitet (sequentiell)
erforderliche Änderungen der Ausgangssignale
werden gespeichert und nach Beendigung des Programmdurchlaufs gleichzeitig ausgegeben
durch die hohe Geschwindigkeit beim
Programmdurchlauf scheint die Verknüpfung von Ein- und Ausgangssignalen annähernd
gleichzeitig zu erfolgen
ein Programmdurchlauf für 1000 Anweisungen
dauert bei der FX0 von Mitsubishi ca. 0,007 Sekunden
je kürzer das Programm ist, desto schneller
erfolgt die Verknüpfung der Ein- und Ausgänge

Bild 1, schematische Darstellung der SPS FX0
von Mitsubishi
Speicherprogrammierbare Steuerungen bieten eine
Vielzahl von Funktionen, die zur Verknüpfung der Ein- und Ausgänge eingesetzt werden
können. Für Standardanwendungen sind die meisten Funktionen nicht erforderlich. Dennoch
ist es wichtig, den Überblick über die vorhandenen Möglichkeiten zu haben. Wie z.B.
Logik-Funktionen, Speicherfunktionen, Zähler, Zeitfunktionen, Unterprogramme,
arithmetische Funktionen, Programmverzweigungen, Funktionen für analoge Ausgänge.
Im folgenden Beispiel soll die SPS die gleichen
Funktionen erfüllen wie ein Relais-Schaltwerk. Das Funktionsprinzip für
jeden Taktschritt ist also auch dasselbe, wie in "Taktsteuerung
mit Relais" dargestellt:
Abfragen eines Eingangssignals und der
Weiterschaltbedingung
Setzen eines Ausgangssignals
Setzen der Weiterschaltbedingung für den
nächsten Schritt
Bei der zweistufigen Relais-Taktsteuerung kamen
logische Verknüpfungen und Speicherelemente (Taktspeicher bzw. Relais mit Selbsthaltung)
zum Einsatz. Die speicherprogrammierbaren Steuerungen bieten solche Funktionen ebenfalls
an. Hier jedoch nicht als Bauelemente, sondern als Programmanweisungen. Folgende Tabelle
zeigt eine Auswahl von wichtigen Anweisungen mit den zugehörigen Operanden. Operanden
sind z.B. Eingänge, Ausgänge oder Speicher, für die eine Anweisung angewandt werden
kann.
Anweisung |
Operanden |
Bedeutung |
LD |
X,Y,M
S,T,C |
LADE den Signalzustand des angegebenen
Operanden. Diese Anweisung (oder LDI) steht am Anfang
von zusammengehörenden logischen Verknüpfungen. |
LDI |
X,Y,M
S,T,C |
LADE den inversen
Signalzustand des angegebenen Operanden (1 wird zu 0; 0 wird zu 1). Diese Anweisung (oder LD) steht am Anfang von zusammengehörenden
logischen Verknüpfungen. |
AND |
X,Y,M
S,T,C |
UND Führt eine
logische UND-Verknüpfung mit dem angegebenen Operanden durch. |
ANI |
X,Y,M
S,T,C |
UND Nicht Invertiert
den angegebenen Operanden und führt anschließend eine logische UND-Verknüpfung durch. |
OR |
X,Y,M
S,T,C |
ODER Führt eine
logische ODER-Verknüpfung mit dem angegebenen Operanden durch. |
ORI |
X,Y,M
S,T,C |
ODER Nicht Invertiert
den angegebenen Operanden und führt anschließend eine logische ODER-Verknüpfung durch. |
OUT |
Y,M
S,T,C |
AUSGABE Ausgabe oder
Zuweisung des Verknüpfungsergebnisses an den angegebenen Operanden |
SET |
Y,M
S,T,C |
SETZEN Setzen eines
Operanden auf logisch 1. Der Operand bleibt gesetzt, bis die Anweisung zum Rücksetzen
erfolgt. |
RST |
Y,M
S,T,C |
RÜCKSETZEN Rücksetzen
eines Operanden auf logisch 0. RST macht die Anweisung SET rückgängig. |
END |
---- |
ENDE Beendet den
Programmzyklus und springt an den Anfang des Programms zurück. |
Operand |
Bedeutung |
X |
Eingang |
Die Ein- und Ausgänge einer SPS sind nicht
dezimal, sondern in 8er Schritten numeriert: 0...7,
10...17, 20...27, 30...37, 40...47,usw.
(null...sieben, eins-null...eins-sieben,
zwei-null...zwei-sieben,......) |
Y |
Ausgang |
M |
Merker (z.B. für logische Signalzustände
1 oder 0) |
S |
Schrittmerker |
T |
Timer (Zeitspeicher) |
C |
Counter (Zählspeicher) |
Die oben aufgeführten Anweisungen reichen aus, um
die meisten Steuerungsaufgaben zu lösen. Es lassen sich sowohl einfache logische
Verknüpfungen als auch Ablaufsteuerungen realisieren.
Das Programm für die Taktsteuerung soll hier aus
gleichartigen "Programmbausteinen" bestehen, die jeweils einen Arbeitsschritt
steuern. Das Zusammenfügen solcher Programmbausteine ermöglicht dann die Steuerung
beliebig langer Arbeitsabläufe. Da die Programmbausteine nacheinander abgearbeitet
werden, sinkt die Fehlergefahr. Denn die logischen Verknüpfungen vorheriger oder
folgender Programmbausteine bleiben unberücksichtigt.
Die folgende Tabelle zeigt ein Beispiel-Programm
für zwei Taktschritte. Es erfüllt die gleiche Funktion wie ein zweistufige
Relais-Schaltwerk.
Schritt |
Anweisung |
Operand |
Bemerkung |
1 |
LD |
X0 |
Lade das Signal von Eingang X0 |
2 |
ANI |
M1 |
Wenn M1=1 führe die folgenden Anweisungen nicht
aus, denn dann ist der zweite Schritt aktiv |
3 |
SET |
M0 |
Setze den Merker für diesen Schritt M0 auf 1 |
4 |
SET |
Y0 |
Setze den Ausgang Y0 auf 1 |
5 |
LD |
X1 |
Lade das Signal von Eingang X1 |
6 |
AND |
M0 |
Wenn M0¹ 1 führe die folgenden Anweisungen
nicht aus, denn dann ist der vorherige Schritt noch nicht erfolgt |
7 |
RST |
Y0 |
Setze das Signal Y0 auf 0 |
8 |
SET |
Y1 |
Setze das Signal Y1 auf 1 |
9 |
SET |
M1 |
Setze den Merker für diesen Schritt M1 auf 1 |
10 |
RST |
M0 |
Setze den Merker für den vorherigen Schritt M0 auf 0 |
11 |
END |
- |
Ende des Programmzyklus; an den Anfang zurück
springen |
Diese schriftliche Anweisungsliste
(AWL) bzw. der Programmcode läßt sich auch grafisch darstellen. Denn bei komplizierteren
logischen Verknüpfungen wird die Anweisungsliste schnell unübersichtlich. Eine
Darstellungsform ist der Kontaktplan (KOP), welcher eine gewisse Ähnlichkeit mit dem
Stromlaufplan hat, der aus der Relais-Technik bekannt ist, siehe Bild 2.
Bild 2, Kontaktplan für die zweistufige
Ablaufsteuerung
Der Kontaktplan hat jedoch nur dann etwas mit dem
Stromlaufplan gemeinsam, solange man lediglich logische Verknüpfungen durchführt. Bei
Anwendung zusätzlicher SPS-Funktionen (Programm-Verzweigungen, arithmetische Anweisungen
etc.), hat der Kontaktplan mit realen Schaltungen keine Ähnlichkeit mehr. |